#ifndef O3ENGINE_BASE_HPP_INCLUDED
#define O3ENGINE_BASE_HPP_INCLUDED

// Prerequisites
#include "./base_prereqs.hpp"

// Math primitives
#include "./math.hpp"
#include "./vector2.hpp"
#include "./vector3.hpp"
#include "./vector4.hpp"
#include "./matrix3.hpp"
#include "./triangle3.hpp"
#include "./rectangle.hpp"
#include "./quaternion.hpp"
#include "./image.hpp"

#include "./opengl2_support.hpp"
#include "./debug_stream.hpp"
#include "./singleton.hpp"


/**
 @defgroup base_group Base System
 System base is the base module of all the engine. It contains
 the mathematical classes, the convertion functions and all the basic
 data types that the engine needs to work.

 @b Base @b System cannot exist alone but it is a independant
 module that can be used by other system of that kind.
*/
#endif
